package com.franklin.ideaplugin.maphelper.beans.colmember;

import com.franklin.ideaplugin.api.utils.ClassUtils;
import com.franklin.ideaplugin.maphelper.resolver.AbstractColMemberResolverFactory;

import java.util.Collection;

/**
 * 集合成员
 *
 * @author Ye Junhui
 * @since 2024/3/21
 */
public interface IColMember {

    /**
     * 获取key文本
     * @return
     */
    String getKeyText();

    /**
     * 获取value文本
     * @return
     */
    String getValueText();

    /**
     * 获取数据类型
     * @return
     */
    String getValueClass();

    /**
     * 获取类型简称
     * @return
     */
    String getValueClassSimple();

    /**
     * 获取子成员
     * @param colMemberResolverFactory
     * @return
     */
    Collection<IColMember> getChildren(AbstractColMemberResolverFactory colMemberResolverFactory);
}
